home *** CD-ROM | disk | FTP | other *** search
-
-
-
- VMCMD User Commands VMCMD
-
-
-
- _________________________________________________________________
-
- NNAAMMEE
- vmcmd - set virtual memory parameters.
-
- SSYYNNOOPPSSIISS
- vvmmccmmdd [_o_p_t_i_o_n_s]
-
- OOPPTTIIOONNSS
- --aa _f_l_a_g_V_a_l_u_e If _f_l_a_g_V_a_l_u_e is non-zero then the vir-
- tual memory system is forced to always
- refuse any file system requests for
- memory.
-
- --AA _f_l_a_g_V_a_l_u_e If _f_l_a_g_V_a_l_u_e is non-zero then the vir-
- tual memory system is forced to always
- satisfy any file system request for
- memory as long as it is possible.
-
- --cc _p_a_g_e_s_T_o_C_h_e_c_k The number of pages to check during each
- interation of the clock algorithm is set
- to _p_a_g_e_s_T_o_C_h_e_c_k .
-
- --CC _f_l_a_g_V_a_l_u_e If _f_l_a_g_V_a_l_u_e is non-zero then copy-on-
- write is enabled.
-
- --ff _f_l_a_g_V_a_l_u_e If _f_l_a_g_V_a_l_u_e is non-zero then pages are
- freed as soon as they are cleaned.
-
- --FF _p_e_n_a_l_t_y If _p_e_n_a_l_t_y is less than zero then the
- file system is forced to pay a penalty
- of -_p_e_n_a_l_t_y seconds when asking for a
- page. If it is greater than or equal to
- zero then the penalty is used in con-
- junction with the --nn option.
-
- --ffssrreesseett Reset the recorded minimum and maximum
- size of the file system cache to the
- current size.
-
- --xx _s_e_g_N_u_m Segment _s_e_g_N_u_m is flushed from memory;
- the --hh and --ll options can be used to set
- upper and lower bounds respectively on
- the pages that are flushed.
-
- --hh _p_a_g_e_N_u_m The highest page that can be flushed is
- _p_a_g_e_N_u_m when using --xx option.
-
- --ll _f_l_a_g_V_a_l_u_e The lowest page that can be flushed is
- _p_a_g_e_N_u_m when using --xx option.
-
- --nn _n_u_m_G_r_o_u_p_s The number of groups to divide memory
-
-
-
- Sprite v.1.0 Printed: March 14, 1991 1
-
-
-
-
-
-
- VMCMD User Commands VMCMD
-
-
-
- into when assessing a penalty is set to
- _n_u_m_G_r_o_u_p_s.
-
- --pp _p_a_g_e_O_u_t_P_r_o_c_s The number of processes used to write
- back pages is set to _p_a_g_e_O_u_t_P_r_o_c_s.
-
- --PP _f_l_a_g_V_a_l_u_e If _f_l_a_g_V_a_l_u_e is non-zero then pre-
- fetching is turned on.
-
- --rr _f_l_a_g_V_a_l_u_e If _f_l_a_g_V_a_l_u_e is non-zero then pages that
- are copied because of copy-on-reference
- faults are made read-only until they get
- modified.
-
- --RR _f_l_a_g_V_a_l_u_e If _f_l_a_g_V_a_l_u_e is non-zero then the vir-
- tual memory system will try to take
- advantage of the file system's read
- ahead policy.
-
- --ss _n_u_m_S_e_c_o_n_d_s The number of seconds between iterations
- of the clock algorithm is set to be _n_u_m_-
- _S_e_c_o_n_d_s.
-
- --tt _t_r_a_c_e_s_P_e_r_S_e_c Virtual memory tracing is turned on at
- the rate of _t_r_a_c_e_s_P_e_r_S_e_c traces per
- second.
-
- --TT Virtual memory tracing is turned off.
-
- --ee nn [[ --XX nn22 ]] Hook for extra commands. This executes
- _V_m__C_m_d(_n,_n_2), with _n_2 defaulting to 0.
-
- _________________________________________________________________
-
-
- IINNTTRROODDUUCCTTIIOONN
- This command sets various parameters of the virtual memory
- system. It is implemented using the Vm_Cmd system call. It
- controls behavior of the virtual memory system in 7 areas:
- virtual memory and file system negotiation, virtual memory
- tracing, the speed of the clock algorithm, flushing of seg-
- ments, prefetch, copy-on-write and other miscellaneous
- things.
-
- VVMM--FFSS NNEEGGOOTTIIAATTIIOONN
- There are four options to vvmmccmmdd that can be used to control
- the negotiation between the virtual memory system and the
- file system. The most interesting are the options which
- allow the file system to be penalized relative to the vir-
- tual memory system. The --FF and --nn options are used to con-
- trol the penalty. The simplest way to penalize the file
- system is to supply the --FF _p_e_n_a_l_t_y option with a negative
- number. In this case the file system is penalized by the
- absolute value of _p_e_n_a_l_t_y each time that it asks for memory.
-
-
-
- Sprite v.1.0 Printed: March 14, 1991 2
-
-
-
-
-
-
- VMCMD User Commands VMCMD
-
-
-
- The penalty is assessed by adding _p_e_n_a_l_t_y seconds to the
- access time of each VM page so that the VM pages seem to
- have been used more recently than they really have.
-
- The --nn _n_u_m_G_r_o_u_p_s option gives a more complex method of
- penalizing the file system. With this option the number of
- available pages are divided up into _n_u_m_G_r_o_u_p_s groups. When
- the file system asks for memory the penalty depends on how
- many pages that it already has. Its penalty is assessed as
-
- (_c_u_r_r_e_n_t-_n_u_m_b_e_r-_o_f-_p_a_g_e_s / _n_u_m_G_r_o_u_p_s) * _p_e_n_a_l_t_y
-
- seconds.
-
- There are two other ways to effect the VM-FS negotiation.
- The --aa option can be used to force the virtual memory system
- to always refuse to give memory to the file system. The --AA
- can be used to force the virtual memory sysytem to always
- satisfy the file system's requests for memory as long as
- they are feasible. These options are designed to be used to
- determine the effect of different polices on VM and FS nego-
- tiation.
-
- TTRRAACCIINNGG
- The virtual memory system has the ability to trace segment
- creation and destruction, reference and modify bit use, page
- faults and copy-on-write behavior. Tracing is turned on
- with --tt _t_r_a_c_e_P_e_r_S_e_c option. Once tracing is turned on
- everything but the reference and modify bit traces will be
- traced as it occurs. However, the reference and modify bits
- are traced by scanning the hardware page maps _t_r_a_c_e_P_e_r_S_e_c
- times per second. The output of the trace is stored in the
- file ``/sprite/vmtrace/tfile._h_o_s_t-_i_d'' where _h_o_s_t-_i_d is the
- sprite id for the host. Tracing is terminated with the --TT
- option.
-
- CCLLOOCCKK
- The virtual memory system keeps all pages in approximate
- least-recently-used (LRU) order by using a version of the
- clock algorithm. The clock algorithm is implemented by
- scanning a given number of pages in memory every few
- seconds. The number of pages that are scanned can be set
- with the --cc _p_a_g_e_s_T_o_C_h_e_c_k option and how often the pages are
- scanned can be set with the --ss _n_u_m_S_e_c_o_n_d_s option. The
- result is that _p_a_g_e_s_T_o_C_h_e_c_k pages are checked every _n_u_m_-
- _S_e_c_o_n_d_s.
-
- FFLLUUSSHHIINNGG
- In order to allow measurement of the performance of the vir-
- tual memory system, vvmmccmmdd allows segments to be flushed from
- memory. When a segment is flushed dirty pages are written
- to swap space and the pages in the segment are removed from
-
-
-
- Sprite v.1.0 Printed: March 14, 1991 3
-
-
-
-
-
-
- VMCMD User Commands VMCMD
-
-
-
- memory. The --xx _s_e_g_N_u_m option is used to specify which seg-
- ment to flush and the --ll _l_o_w_P_a_g_e_N_u_m and --hh _h_i_g_h_P_a_g_e_N_u_m
- options are used to specify the range of pages to flush. By
- default the lowest page to flush is the lowest page in the
- segment and the highest is the highest page in the segment.
- However, the --ll or --hh options can be used to set the lowest
- page to _l_o_w_P_a_g_e_N_u_m and the highest to _h_i_g_h_P_a_g_e_N_u_m respec-
- tively.
-
- PPRREEFFEETTCCHH
- Both the virtual memory system and the file system implement
- prefetch. Virtual memory prefetch can be turned on or off
- by using the --PP _f_l_a_g_V_a_l_u_e option; if _f_l_a_g_V_a_l_u_e is non-zero
- then prefetching is enabled and if it is zero prefetching is
- disabled. Likewise whether or not the virtual memory system
- takes advantage of the file system's prefetech can be deter-
- mined with the --RR _f_l_a_g_V_a_l_u_e option; non-zero means use FS
- prefetch, 0 means don't use it.
-
- CCOOPPYY--OONN--WWRRIITTEE
- Copy-on-write can be turned on or off by using the --CC
- _f_l_a_g_V_a_l_u_e option. If _f_l_a_g_V_a_l_u_e is non-zero then copy-on-
- write is enabled and if it zero copy-on-write is disabled.
-
- MMIISSCCEELLLLAANNEEOOUUSS
- There are two other parameters of the virtual memory system
- that can be set with vvmmccmmdd. The number of processes that
- are used to write out dirty pages can be set with the --pp
- _p_a_g_e_O_u_t_P_r_o_c_s option. Whether or not memory is freed once it
- gets to the front of the allocate list or it is left alone
- until it has to be recycled is controlled with the --ff
- _f_l_a_g_V_a_l_u_e option; if _f_l_a_g_V_a_l_u_e is non-zero then pages are
- freed once they are cleaned and if it is zero pages remain
- on the front of the allocate list after they are cleaned.
-
- KKEEYYWWOORRDDSS
- virtual memory
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sprite v.1.0 Printed: March 14, 1991 4
-
-
-
-